A digital data processing device may comprise a cryptographic means for encrypting or decrypting internal data residing on the device. A given data item may be encrypted using a cryptographic key. A cryptographic key is a parameter defining an encryption function and its inverse, the corresponding decryption function. Applying the encryption function to the data item generates an encrypted data item different from the original data item. Applying the decryption function to the encrypted data item reproduces the original data item. Interpreting or otherwise using the encrypted data item therefore requires knowledge of the cryptographic key. Data items may thus be rendered unintelligible for any person or device not knowing the respective cryptographic key. A cryptographic key may in turn be encrypted using another cryptographic key. A cryptographic key may also be referred to herein as a key. A key used for encrypting or decrypting another key is known as a master key.
Some devices are provided with a tamper detection mechanism. The tamper detection mechanism may be arranged to generate a tamper detection signal in response to detecting a tamper event. Tampering, also known as hacking, refers to any successful or unsuccessful attempt of gaining unauthorized access to protected data on a device. The protection mechanism may be arranged to clear a key in response to detecting a tamper event related to that key. Clearing a key means resetting the key to a predefined value, typically zero. When a key has been reset, the key cannot longer be used to decrypt data that was encrypted on the basis of the original value of the key. For instance, it may be detected that a hacker attempts to read a certain key on the device. The key may be cleared before the hacker is able to read it. The hacker is thus prevented from gaining knowledge of the correct value of the key in question, i.e., from knowing the value necessary for decrypting the data that was encrypted using the key.
Certain devices have a key known as the zeroizable master key (ZMK). The ZMK is typically used to encrypt data that are in turn is used to protect sensitive information stored on or conveyed by the device. The ZMK may be arranged to be cleared, e.g., set to zero, once a hacking attempt is detected, hence its name. The ZMK may, for example, be programmed by a manufacturer of the device and then locked to prohibit any further read or write transactions by unauthorized entities, and tampering protection may be activated. The ZMK may be programmed, for example, in accordance with an individual key distribution scheme of the manufacturer or the user. The tampering mechanism may be aimed at protecting against a variety of security violations. Such violations may include hacking by software or by physical means. It is noted that some hacking methods result in zeroing the key, thus creating an indication of the hacking method's success and allowing the mapping of various hacking methods' success rate.